The present invention relates to a computer network system and a communications node included in the network system, and more particularly, it relates to a technique to efficiently controlling transition to a sleeping state and return to a communication enable state of a port in a channel interconnection network system.
In a computer system, a network connected through cables or the like is generally formed so that data can be transferred among individual components. A network system is realized by interconnecting communications nodes of the respective components through buses. In general, all communications nodes included in a network system are operated in accordance with predetermined protocol so as to attain consistency in communication between the nodes. In some of such protocol, in consideration of power saving, even when a node or a port is placed in a communication disable state such as a sleeping state, a bus is reconstructed without fail so that a transfer operation can be continuously conducted between nodes in a communication enable state.
An example of such protocol is xe2x80x9cP1394a Draft Standard for a High Performance Serial Busxe2x80x9d of Microprocessor and Microcomputer Standards Committee of the IEEE Computer Society. In this protocol, when a given port enters a sleeping state, a communications node connected to this port sets all of its ports to a sleeping state. As a result, all the ports of communications nodes connected to the port that is first placed in a sleeping state as well as all the ports of communications nodes disposed between each port of these communications nodes and the ends of buses are placed in a sleeping state. Also in the case where a given port is returned from a sleeping state to a communication enable state, similar procedures are adopted, so that the network system can be initialized after placing all the ports of all the communications nodes in a communication enable state.
For example, in a network system shown in FIG. 1, when a port 3a of a node 3 enters a sleeping state, a node 4 connected to the port 3a sets all of its ports, namely, ports 4a, 4b and 4c, to a sleeping state. Furthermore, a node 5 connected to the port 4b sets its own port 5a to a sleeping state, and a node 6 connected to the port 4a sets its own port 6a to a sleeping state. As a result, the network system of FIG. 1 attains a state as shown in FIG. 17, in which the ports in a sleeping state are shown with black circles.
In the state shown in FIG. 17, when the port 3a of the node 3 returns from a sleeping state to a communication enable state, the node 4 returns its own ports 4a, 4b and 4c to a communication enable state. Also, the node 5 returns its own port 5a to a communication enable state and the node 6 returns its own port 6a to a communication enable state. Furthermore, the nodes 3, 4 and 5 output a bus initialization signal after a predetermined period of time, so as to initialize and reconstruct the entire network system.
As is shown in FIG. 17, when a given port goes into a sleeping state in the conventional network system, the ports of all communications nodes subsequent to this port are placed in a sleeping state. Therefore, data cannot be transferred between the communications nodes subsequent to the port in a sleeping state.
Furthermore, in the conventional network system, after a port in a sleeping state is returned to a communication enable state, the network is always initialized on the assumption that the architecture has been changed while the port is in a sleeping state. However, since the initialization operation interrupts data transfer, a frequently conducted initialization operation is undesirable in consideration of data transfer efficiency.
An object of the invention is, in a network system including plural communications nodes, improving data transfer efficiency attained in setting a port to a sleeping state or returning a port to a communication enable state as compared with that attained by the conventional technique.
Specifically, the communications node included in a network system of this invention comprises a plurality of ports: and means for conducting, when notice of transition to a sleeping state is received at one of the ports or when one of the ports is to be set to a sleeping state, an operation for placing the port in a sleeping state and an operation for forming a local network capable of independent internal data transfer together with another node to which data is transferable from a port other than the sleeping port.
According to the invention, when notice of transition to a sleeping state is received at a port, or when a port is to be set to a sleeping state, a communications node sets the port to a sleeping state and forms a local network together with another node to which data can be transferred from a port thereof other than the port set to a sleeping state. As a result, data can be transferred from the port other than the port in a sleeping state, and the node to which data can be transferred from the port other than the port in a sleeping state can be kept in a data transfer enable state because its port is not placed in a sleeping state. Accordingly, the data transfer efficiency attained in setting a port to a sleeping state can be improved as compared with that attained by the conventional technique.
Preferably, the operation for forming the local network includes steps of recognizing a node to which data is transferable from the sleeping port as a communication disable node; and sending a node number of the communication disable node from a port other than the sleeping port as communication disable node information.
Also preferably, the operation for forming the local network includes a step of, when the sleeping port is a root port, setting either the communications node or another node to which data is transferable from a port other than the sleeping port as a local root node for controlling arbitration in the local network. Furthermore, the communications node preferably further comprises means for setting all of the ports to a sleeping state when it is impossible to set a local root node.
Moreover, the communications node preferably further comprises means for conducting, when the sleeping port receives notice of return to a communication enable state or when the sleeping port is to be returned to a communication enable state, an operation for returning the sleeping port to a communication enable state and an operation for canceling the local network formed by the communications node and another node to which data is transferable from a port other than the returned port.
Furthermore, the operation for canceling the local network preferably includes steps of determining whether or not initialization has occurred while the local network is formed; and sending an initialization signal from all of the ports when it is determined that initialization has occurred and not sending an initialization signal when not. In this manner, in canceling a local network, the communications node sends an initialization signal from all of its ports when it recognizes that initialization has occurred while the local network is formed, and does not send an initialization signal when it recognizes that initialization has not occurred. Therefore, network initialization is conducted merely when initialization has occurred in the local network, namely, when there is a possibility of change in the structure of the local network. Accordingly, unnecessary initialization can be avoided, resulting in improving the data transfer efficiency.
The communications node preferably further comprises an initialization occurrence flag to be set when another port receives the initialization signal while any port is in a sleeping state, and in the operation for canceling the local network, it is preferably determined that initialization has occurred if the initialization occurrence flag is set and that initialization has not occurred if the initialization occurrence flag is not set.
Furthermore, the operation for canceling the local network preferably includes steps of recognizing a node to which data is transferable from the returned port as a communication enable node; and sending a node number of the communication enable node from a port other than the returned port as communication enable node information.
Alternatively, the information equipment of this invention comprises the above-described communications node of this invention and has a structure connectable to a network system.
Alternatively, the network system of this invention comprises plural communications nodes, and when each of the communications nodes receives notice of transition to a sleeping state at a port thereof or when the communications node is to set a port thereof to a sleeping state, the communications node places the port in a sleeping state, and forms a local network capable of independent internal data transfer together with another node to which data is transferable from a port thereof other than the sleeping port.
In this network system, a communications node having received notice of transition to a sleeping state at a port thereof or a communications node setting a port thereof to a sleeping state sets the port in a sleeping state and forms a local network together with another node to which data can be transferred from a port thereof other than the port set to a sleeping state. As a result, data can be transferred from the port other than the port set to a sleeping state, and the node to which data can be transferred from the port other than the port set to a sleeping state can be kept in a data transfer enable state because its port is not in a sleeping state. Accordingly, the data transfer efficiency in setting a port to a sleeping state can be improved as compared with that attained by the conventional technique.
Preferably, in forming the local network, the communications node recognizes a node to which data is transferable from the sleeping port as a communication disable node and sends a node number of the recognized communication disable node from a port thereof other than the sleeping port as communication disable node information, and each communications node receiving the communication disable node information stops communicating with the node having the node number included in the communication disable node information.
Furthermore, when each of the communications nodes receives notice of return to a communication enable state at a port thereof or when the communications node is to return a port thereof to a communication enable state, the communications node preferably returns the port to a communication enable state, and cancels the local network formed together with another node to which data is transferable from a port thereof other than the returned port.
Moreover, in canceling the local network, the communications node preferably recognizes a node to which data is transferable from the returned port as a communication enable node, and sends a node number of the recognized communication enable node from a port thereof other than the returned port as communication enable node information, and each communications node receiving the communication enable node information preferably allows to communicate with the node having the node number included in the communication enable node information.
In addition, each communications node receiving the communication enable node information preferably determines whether or not any port thereof is a communication disable port, and when any port thereof is a communication disable port, the communications node preferably recognizes a node to which data is transferable from the communication disable port as a communication disable node, and sends a node number of the recognized communication disable node from a port thereof other than the communication disable port as communication disable node information.